package service;

import java.util.List;
import java.util.Set;

/**
 * 索引服务接口
 * 用于加速查询过程
 */
public interface IndexService {
    
    /**
     * 创建索引
     */
    boolean createIndex(String indexName, String fieldName);
    
    /**
     * 删除索引
     */
    boolean dropIndex(String indexName);
    
    /**
     * 添加索引条目
     */
    <T> boolean addIndexEntry(String indexName, String key, T value);
    
    /**
     * 删除索引条目
     */
    boolean removeIndexEntry(String indexName, String key);
    
    /**
     * 根据索引查找键
     */
    <T> Set<String> findKeysByIndex(String indexName, T value);
    
    /**
     * 获取所有索引名称
     */
    List<String> getAllIndexNames();
    
    /**
     * 重建索引
     */
    boolean rebuildIndex(String indexName);
    
    /**
     * 获取索引统计信息
     */
    java.util.Map<String, Object> getIndexStatistics();
} 